package main

import (
	"fmt"
)

func main() {
	//map的定义1
	m1 := map[string]string{
		"name": "wu",
		"age":  "18",
		"tel":  "18853521412",
	}
	//map的定义2
	m2 := make(map[string]int) //m2 == empty map
	//map的定义3
	var m3 map[string]string //m3 == nil 这里map是可以参与计算
	fmt.Println(m1, m2, m3)  //map[tel:18853521412 name:wu age:18] map[] map[]
	//map的遍历
	for i, v := range m1 {
		fmt.Println(i, v)
	}
	//tel 18853521412		map办理出来的是无序的
	// name wu
	// age 18

	//获取键值,并判断是否存在(给参数传递第二个值,用来判断true或者flase)
	name, ok := m1["name"]
	dd, o := m1["dd"]
	fmt.Println(name, ok)
	fmt.Println(dd, o)
	//具体的判断
	if cc, qw := m1["qwqw"]; qw {
		fmt.Println(cc)
	} else {
		fmt.Println("没有这个参数", qw)
	}

	//delete
	delete(m1, "name")
	fmt.Println(m1) //map[age:18 tel:18853521412]

	//算法事例
	//abcabcdd  =>	abc
}
